$(function () {
    var currentPage = 1
    var pageSize = 3

    function render() {
        $.ajax({
            type: 'get',
            url: '/product/queryProductDetailList',
            data: {
                page: currentPage,
                pageSize: pageSize
            },
            dataType: 'json',
            success: function (res) {
                console.log(res);
                $('tbody').html(template('tmp', res))
                setPage(res.total)
            }
        })
    }
    render()
    //初始化分页插件
    function setPage(total) {
        $("#paginator").bootstrapPaginator({
            bootstrapMajorVersion: 3, //默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage, //当前页
            totalPages: Math.ceil(total / pageSize), //总页数
            onPageClicked: function (event, originalEvent, type, page) {
                //为按钮绑定点击事件 page:当前点击的按钮值
                currentPage = page
                render()
            }

        });
    }

    //下拉列表填充
    //1 ajax去后台获取数据二级分类
    //2 用模版填充到列表 注意同时保存id，用data-id
    $.ajax({
        type: 'get',
        url: '/category/querySecondCategoryPaging',
        data: {
            page: 1,
            pageSize: 100
        },
        dataType: 'json',
        success: function (res) {
            console.log(res);
            $('.two-list').html(template('tmp2', res))
        }
    })

    //选中下拉列表
    //1 点击a标签，获取蚊子给按钮
    //2将选中的a标签的id设置给隐藏域
    $('.two-list').on('click', 'a', function () {
        $('.cate-one').text($(this).text())
        $('#cate-one').val($(this).data('id'))
        $('.form-add').data('bootstrapValidator').updateStatus('brandId', 'VALID')
    })

    //上传图片
    //上传图片预览
    //只保留最近上传的三张图片，用于在移动端作轮播图
    //最近上传的三张图片，记录图片上传的顺序，记录图片的个数，用数组进行记录
    var picArr = []
    $("#file").fileupload({
        dataType: "json",
        //e：事件对象
        //data：图片上传后的对象，通过data.result.picAddr可以获取上传后的图片地址
        done: function (e, data) {
            console.log(data.result);
            var img = data.result
            picArr.unshift(img)
            $('.img-box').prepend('<img src="' + img.picAddr + '" alt="" height="60">')
            //如果超过三张删除数组的最后一个元素，删去最后一张图
            if (picArr.length > 3) {
                picArr.pop()
                $('.img-box img:last-child').remove()
            }
            console.log(picArr)
            if (picArr.length == 3) {
                $('#picsrc').val(JSON.stringify(picArr))
                $('.form-add').data('bootstrapValidator').updateStatus('picArr', 'VALID')

            }


        }
    });


    //使用表单校验插件
    $('#form1').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled'],

        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },

        //3. 指定校验字段
        fields: {
            //校验用户名，对应name表单的name属性
            brandId: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请选择二级分类'
                    }
                }
            },
            proName: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品名称'
                    }
                }
            },
            proDesc: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品描述'
                    }
                }
            },
            num: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品库存'
                    },
                    //正则校验
                    regexp: {
                        regexp: /^[1-9]\d*$/,
                        message: '商品库存格式, 必须是非零开头的数字'
                    }
                }
            },
            oldPrice: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品原价'
                    },
                    //正则校验
                    regexp: {
                        regexp: /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/,
                        message: '价格必须是数字（整数，小数）'
                    }
                }
            },
            price: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品现价'
                    },
                    //正则校验
                    regexp: {
                        regexp: /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/,
                        message: '价格必须是数字（整数，小数）'
                    }
                }
            },
            size: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品尺码'
                    },
                    //正则校验
                    regexp: {
                        regexp: /^[1-9]\d-[1-9]\d$/,
                        message: '尺码格式, 必须是 32-40'
                    }
                }
            },
            picArr: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请上传三张照片'
                    }
                }
            },
        }
    });

    //添加商品到服务器
    //1 点击添加按钮，在数据合理的情况下向后台发送请求，添加数据 success.form.bv事件
    //2 商品添加完成。隐藏模态框，页面重新渲染，表单重置，手动重置
    $('.form-add').on('success.form.bv', function (e) {
        e.preventDefault()
        $.ajax({
            type: 'post',
            url: '/product/addProduct',
            data: $('.form-add').serialize(),
            dataType: 'json',
            success: function (res) {
                console.log(res);
                $('.myModal').modal('hide')
                render()
                $(".form-add").data('bootstrapValidator').resetForm(true)
                $('.cate-one').text('请选择二级分类')
                $('.img-box').empty()
                picArr = []
            }
        })
    })

})